home *** CD-ROM | disk | FTP | other *** search
/ DS-CD ROM 2 1993 August / DS CD-ROM 2.Ausgabe (August 1993).iso / programm / ds0257 / lib.exe / SETVALUE.LIB < prev    next >
Text File  |  1992-02-02  |  2KB  |  161 lines

  1. #IF !LIB4A86
  2. #ELSE
  3. #IF !INTERN_LIB4A86_S
  4. INTERN_LIB4A86_S EQU 01
  5. JMP START
  6. #ENDIF
  7. #ENDIF
  8. PADDINGBYTE DB ' '
  9. KONVERT_DXAX_TO_BINSTRING:
  10. PUSH AX
  11. MOV AX,DX
  12. CALL KONVERT_AX_TO_BINSTRING
  13. POP AX
  14. KONVERT_AX_TO_BINSTRING:
  15. PUSH AX
  16. MOV AL,AH
  17. CALL KONVERT_AL_TO_BINSTRING
  18. POP AX
  19. KONVERT_AL_TO_BINSTRING:
  20. CLD
  21. PUSH BX
  22. PUSH CX
  23. CLD
  24. MOV CX,8
  25. MOV BX,'0' BY '1'
  26. MOV AH,AL
  27. L0:
  28. MOV AL,BL
  29. SHL AH,1
  30. IF NC MOV AL,BH
  31. STOSB
  32. LOOP L0
  33. POP CX
  34. POP BX
  35. RET
  36. KONVERT_DXAX_TO_HEXSTRING:
  37. PUSH AX
  38. MOV AX,DX
  39. CALL KONVERT_AX_TO_HEXSTRING
  40. POP AX
  41. KONVERT_AX_TO_HEXSTRING:
  42. PUSH AX
  43. MOV AL,AH
  44. CALL KONVERT_AL_TO_HEXSTRING
  45. POP AX
  46. KONVERT_AL_TO_HEXSTRING:
  47. CLD
  48. MOV AH,AL
  49. AND AH,0F0H
  50. SHR AH,1
  51. SHR AH,1
  52. SHR AH,1
  53. SHR AH,1
  54. CMP AH,9
  55. JG >L1
  56. ADD AH,'0'
  57. JMP >L2
  58. L1:
  59. ADD AH,'7'
  60. L2:
  61. AND AL,00FH
  62. CMP AL,9
  63. JG >L1
  64. ADD AL,'0'
  65. JMP >L2
  66. L1:
  67. ADD AL,'7'
  68. L2:
  69. XCHG AH,AL
  70. STOSW
  71. RET
  72. D0 DW 100XD, 10XD, 0
  73. KONVERT_AL_TO_DEZSTRING:
  74. PUSH SI
  75. MOV SI,OFFSET D0
  76. JMP INTERN_KONVERTAL
  77. D1 DW 10000XD, 1000XD, 100XD, 10XD, 0
  78. KONVERT_AX_TO_DEZSTRING:
  79. PUSH SI
  80. MOV SI,OFFSET D1
  81. JMP INTERN_KONVERTAX
  82. D2 DW 64XD, 8XD, 0XD
  83. KONVERT_AL_TO_OCTSTRING:
  84. PUSH SI
  85. MOV SI,OFFSET D2
  86. JMP INTERN_KONVERTAL
  87. D4 DW 32768XD, 4096XD, 512XD, 64XD, 8XD, 0
  88. KONVERT_AX_TO_OCTSTRING:
  89. PUSH SI
  90. MOV SI,OFFSET D4
  91. JMP INTERN_KONVERTAX
  92. POP SI
  93. RET
  94. INTERN_KONVERTAL:
  95. XOR AH,AH
  96. INTERN_KONVERTAX:
  97. PUSH CX
  98. PUSH DX
  99. PUSH BX
  100. CLD
  101. XOR BH,BH
  102. XOR DX,DX
  103. L0:
  104. MOV CX,CS:[SI]
  105. OR CX,CX
  106. JZ >L2
  107. DIV CX
  108. ADD AL,'0'
  109. OR BH,BH
  110. JNZ >L1
  111. CMP AL,'0'
  112. JNE >L10
  113. MOV AL,CS:PADDINGBYTE
  114. JMP >L1
  115. L10:
  116. INC BH
  117. L1:
  118. STOSB
  119. MOV AX,DX
  120. XOR DX,DX
  121. INC SI,2
  122. JMP L0
  123. L2:
  124. ADD AL,'0'
  125. STOSB
  126. POP BX
  127. POP DX
  128. POP CX
  129. POP SI
  130. RET
  131. #IF !INTERN_CMARK0
  132. INTERN_CMARK0 EQU 01H
  133. INTERN_CMARK1:
  134. PUSH BP
  135. MOV BP,SP
  136. MOV BX,06H
  137. SUB CH,[BP+SI]
  138. SUB AH,[BX+SI]
  139. DEC SP
  140. DEC CX
  141. INC DX
  142. XOR AL,041H
  143. CMP B[02820H],DH
  144. INC BX
  145. SUB W[BX+SI],SP
  146. INC DX
  147. CS AND B[BP+DI+043H],DL
  148. DEC AX
  149. INC BP
  150. DEC BP
  151. DEC BP
  152. INC BP
  153. PUSH DX
  154. AND B[BP+SI],CH
  155. SUB CH,[BP+SI]
  156. POP DX
  157. MOV SP,BP
  158. POP BP
  159. RET
  160. #ENDIF
  161.